package com.jintoufs.service.security;

import com.jintoufs.domain.security.Resource;
import com.jintoufs.util.ztree.TreeNode;

import java.util.List;
import java.util.Map;

/**
 * 资源管理Service接口
 *
 * @author fisher
 */
public interface ResourceService {
    /**
     * 保存资源
     *
     * @return
     */
    Map<String, Object> save(Resource resource);

    /**
     * 查询资源列表
     */
    List<Resource> findByParams(Map<String, Object> params);

    void delete(Integer id);

    /**
     * 根据roleId删除资源
     *
     * @param roleId
     */
    void deleteResourceByRole(Integer roleId);

    /**
     * 根据roleId获取资源
     *
     * @param roleId
     */
    List<Resource> selectByRole(Integer roleId);

    /**
     * 保存角色和资源关联关系
     *
     * @param roleId
     */
    void saveRoleResource(Integer roleId, Integer resourceId);

    List<TreeNode> getModuleTree(Resource entity);

    List<TreeNode> getResourceTreeByRole(Integer id);

    void deleteResourceById(Integer id);

    boolean isMenu(Map<String, Object> params);
}
